package broad.gui;

import broad.bean.Objeto;
import broad.util.Arquivos;
import broad.util.CaixaMensagemGUI;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Window;

public class ModalLinkObjetoGUI extends Window {

    private Window win;
    private Textbox tLink;
    private Button bOK;

    public void onCreate() {
    }

    public void exibir(Objeto objeto) {
        String link = new Arquivos().getLinkPath(objeto);
        if (link == null) {
            new CaixaMensagemGUI().caixaInformacao("Não há arquivo associado ao objeto", "Erro");
        } else {
            criar();
            win.setTitle( objeto.getLomTitle() == null ? "(Sem título)" : objeto.getLomTitle() );
            tLink.setValue(link);
            tLink.select();
            win.doModal();
        }
    }

    private void criar() {
        win = (Window) Executions.createComponents("/modal/modalLinkObjeto.zul", this.getParent(), null);
        win.setClosable(true);
        win.setBorder("normal");
        win.addEventListener("onOK", new EventListener() {

            @Override
            public void onEvent(Event event) throws Exception {
                fechar();
            }
        });
        win.addEventListener("onCancel", new EventListener() {

            @Override
            public void onEvent(Event event) throws Exception {
                fechar();
            }
        });

        tLink = (Textbox) win.getFellow("tLink");

        bOK = (Button) win.getFellow("bOK");
        bOK.setStyle("cursor:pointer");
        bOK.addEventListener("onClick", new EventListener() {

            @Override
            public void onEvent(Event event) throws Exception {
                fechar();
            }
        });
    }

    private void fechar() {
        win.detach();
    }    
    
}
